type Lst a = forall i. Monoid i => (a -> i) -> i